10 DATA C3,nnnINICIOPROGRAMALO,nnnINICIOPROGRAMAHI: ' JP INICIOPROGRAMA
20 ' - Procedure INICIALIZA
30 DATA 3E,01: ' LD A, 1
40 DATA CD,0E,BC: ' CALL &BC0E - SET MODE
50 DATA 3E,00: ' LD A, 0
60 DATA CD,96,BB: ' CALL &BB96 - SET PAPER
70 DATA C9: ' RET - Retorno de proced.
80 ' - Procedure LINEAHORIZONTAL
90 DATA 3E,01: ' LD A, 1
100 DATA 32,34,75: ' LD (30004), A - Asignacion: I=1
110 ' Etiqueta de salto: FOR_1, posicion: 30119
120 ' IF 10<I
130 DATA 3A,34,75: ' LD A, (30004) - Variable: I
140 DATA 47:' LD B, A (I)
150 DATA 3E,0A: ' LD A, 10
160 DATA B8:' CP B
170 DATA FA:' JP M
180 DATA nnnFIN_FOR_1LO,nnnFIN_FOR_1HI: ' direcc de salto FIN_FOR_1
190 DATA 3E,2A: ' LD A, "*"
200 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
210 DATA 3A,34,75: ' LD A, (30004) - Variable: I
220 DATA 3C :' INC A
230 DATA 32,34,75: ' LD (30004), A - Incremento: I+1
240 DATA C3,A7,75: ' JP FOR_1
250 ' Etiqueta de salto: FIN_FOR_1, posicion: 30144
260 DATA C9: ' RET - Retorno de proced.
270 ' -- Cuerpo del programa
280 ' Etiqueta de salto: INICIOPROGRAMA, posicion: 30145
290 '  Llamada a procedimiento: INICIALIZA
300 DATA CD: ' CALL - Llamada a proced.
310 DATA 97,75: ' direcc de salto INICIALIZA
320 DATA 3E,0A: ' LD A, 10
330 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
340 DATA 3E,03: ' LD A, 3
350 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
360 DATA 3E,01: ' LD A, 1
370 DATA CD,90,BB: ' CALL &BB90 - SET PEN
380 '  Llamada a procedimiento: LINEAHORIZONTAL
390 DATA CD: ' CALL - Llamada a proced.
400 DATA A2,75: ' direcc de salto LINEAHORIZONTAL
410 DATA 3E,02: ' LD A, 2
420 DATA CD,90,BB: ' CALL &BB90 - SET PEN
430 DATA 3E,04: ' LD A, 4
440 DATA 32,35,75: ' LD (30005), A - Asignacion: J=4
450 ' Etiqueta de salto: FOR_2, posicion: 30176
460 ' IF 7<J
470 DATA 3A,35,75: ' LD A, (30005) - Variable: J
480 DATA 47:' LD B, A (J)
490 DATA 3E,07: ' LD A, 7
500 DATA B8:' CP B
510 DATA FA:' JP M
520 DATA nnnFIN_FOR_2LO,nnnFIN_FOR_2HI: ' direcc de salto FIN_FOR_2
530 DATA 3E,0A: ' LD A, 10
540 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
550 DATA 3A,35,75: ' LD A, (30005) - Variable: J
560 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
570 DATA 3E,2A: ' LD A, "*"
580 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
590 DATA 3E,01: ' LD A, 1
600 DATA 32,36,75: ' LD (30006), A - Asignacion: K=1
610 ' Etiqueta de salto: FOR_3, posicion: 30207
620 ' IF 8<K
630 DATA 3A,36,75: ' LD A, (30006) - Variable: K
640 DATA 47:' LD B, A (K)
650 DATA 3E,08: ' LD A, 8
660 DATA B8:' CP B
670 DATA FA:' JP M
680 DATA nnnFIN_FOR_3LO,nnnFIN_FOR_3HI: ' direcc de salto FIN_FOR_3
690 DATA 3E,20: ' LD A, " "
700 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
710 DATA 3A,36,75: ' LD A, (30006) - Variable: K
720 DATA 3C :' INC A
730 DATA 32,36,75: ' LD (30006), A - Incremento: K+1
740 DATA C3,FF,75: ' JP FOR_3
750 ' Etiqueta de salto: FIN_FOR_3, posicion: 30232
760 DATA 3E,2A: ' LD A, "*"
770 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
780 DATA 3A,35,75: ' LD A, (30005) - Variable: J
790 DATA 3C :' INC A
800 DATA 32,35,75: ' LD (30005), A - Incremento: J+1
810 DATA C3,E0,75: ' JP FOR_2
820 ' Etiqueta de salto: FIN_FOR_2, posicion: 30247
830 DATA 3E,0A: ' LD A, 10
840 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
850 DATA 3E,08: ' LD A, 8
860 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
870 DATA 3E,03: ' LD A, 3
880 DATA CD,90,BB: ' CALL &BB90 - SET PEN
890 '  Llamada a procedimiento: LINEAHORIZONTAL
900 DATA CD: ' CALL - Llamada a proced.
910 DATA A2,75: ' direcc de salto LINEAHORIZONTAL
920 DATA 3E,0A: ' LD A, 10
930 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
940 DATA 3E,0A: ' LD A, 10
950 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
960 DATA 3E,01: ' LD A, 1
970 DATA CD,90,BB: ' CALL &BB90 - SET PEN
980 DATA C9: ' RET
990 longitud = 180
1000 MEMORY 29999
1010 'Codigo del programa
1020 FOR n=30100 TO 30100+longitud
1030   READ a$:POKE n,VAL("&"+a$)
1040 NEXT
1050 'Espacio para variables
1060 FOR n=30000 TO 30099
1070   POKE n,0
1080 NEXT
1090 POKE 30000, &CD: 'inicio: CALL 30100
1100 POKE 30001,148
1110 POKE 30002,117
1120 CALL 30000
